2025 상반기 회고-1탄
2025 상반기 정리
2025-06-06
2025상반기회고-1탄
2025년이 벌써 절반이 곧 지나갑니다. 연간회고, 반년 단위의 회고는 꼭 적고 가기에, 올해도 어김없이 절반이 지난 시점에서, 회고를 해보려고 해요. 2025년을 크게 요약해보면 다음의 큰 이벤트들이 있었던 것 같아요. 어떤 일을 했는지 , 이번에는 조금 자세하게 적어보려고 해요.!
- 1월부터 3월까지 Y-Edu프로젝트에 참여
- 토스증권 어시스턴트로 3월부터 근무 시작
Y-edu프로젝트를 하기까지를 1탄으로, 토스증권에서 어시스턴트로 근무하면서 배우고, 겪은 것들에 대한 회고는 2탄으로 적어보려고 해요.
1월부터 Y-edu라는 프로젝트에 새로 프론트엔드 개발자로 참여하게 되었어요. Y-edu라는 프로젝트는 대학원김선배를 같이 개발했던 분들의 제안으로 합류하게 되었는데요.
김선배 서비스를 만들면서 행복했던 기억밖에 없기 때문에, 합류를 하기로 결정했습니다. Y-edu라는 프로젝트는, 초등 영어 과외를 수준 높은 선생님에게 받기를 희망하는 학부모와 , 자신이 가능한 시간대에 과외를 하고 싶은 선생님들을 매칭시키는 서비스인데요.
이미 여러 선생님 목록이 네이버 카페에 등록되어 있었고, CS 담당자가 이를 중간에서 직접 카카오톡 / 채널을 이용해 조율하는 구조였는데요. 그러다보니 아래와 같은 문제점이 있었어요.
- CS담당자가 직접 학부모 <-> 선생님 간 카카오톡 채널을 통해 조율해, 과외 장소/시간 등을 일일이 맞춰나가야 했어요.
- 네이버카페에 , 선생님들의 정보가 나와있는데, 네이버 카페를 통해 선생님의 가능시간/ 지역을 찾아서, 학부모에게 제안하는 구조였어요.
- 선생님이나 학부모가 카카오 채널에 답을 안할 때, 다른 한쪽이 일방적으로 기다려야 하는 구조였어요.
이러다보니, 선생님/ 학부모 / CS담당자 모두 불편함을 겪었는데요.
학부모입장에서는 아래와 같은 불편함이 존재하였어요.
또 선생님입장에서는 아래와 같이 불편함이 존재했어요.
마지막으로 CS 담당자는 선생님 <-> 학부모 간 카카오 채널을 통해 대화를 진행하면서, 서로 간의 합의를 도출해, 결과적으로 과외를 매칭시키는 과정에서 불필요한 대기 시간이 너무 많고, 그로인한 스트레스를 받는 문제점이 있었어요.
(가능여부 , 시간조율, 대화 등이 모두 답변을 기다려야 하는 식으로 진행되어서, 학부모가 과의 신청 -> 수락/거절으로 한번에 떨어지지 않는다.)
이를 해결하기 위해 다음의 결과를 만드는 것에 집중했어요.
- 선생님 등록 프로필을 자동화한다.
- CS담당자의 긴 대기시간을 줄이기 위해, 선생님이 직접 웹으로 들어와 on/off를 설정하고, 학부모가 "실제 활동 중"인 선생님에게 신청을 넣고 선생님이 답을 하는 구조로 바꾼다.
제일 처음 해야 되는 일은 , 네이버 카페가 아니라 Y-edu DB로 선생님의 정보가 등록되어야 하는 것이었는데요.
네이버 카페에 등록된 선생님들이 모두 활동 중인 것도 아니고, 실제 등록은 해놓았지만, 활동을 하지 않는 선생님도 많았기 때문에, 마이그레이션 + 네이버 카페를 쓰지 않기 위해 필요한 절차였어요.
선생님이 최대한 간단하게 프로필 정보를 구글 폼으로 제출하면, 해당 정보가 DB에 쌓이도록 하기 위해 Google Apps scripts를 이용해 DB로 넘기는 스크립트를 짜야 했어요.
이렇게 개발 서버 / 운영 서버용 폼을 분리하구, 구글 폼이 제출될 때, 탈리 폼이 제출되어서 스프레드 시트 응답에 기록될 때 트리거를 설정해서, Y-edu DB로 넘기는 스크립트를 작성해주었어요.
다음단계로는 이렇게 등록된 선생님들에게, CS 담당자가 특정 선생님에게 과외 수락 요청 알림톡을 보내거나 , 알림톡을 보냈을 때, 선생님이 해당 과외건을 수락/거절/대기 중인지 테이블 형태로 봐야 했는데요, tanstack-table를 이용해 여러 테이블 로직을 처리했던 것 같아요.
아래와 같이 columnHelper를 써서, 테이블의 헤더를 정의해줄 수 있었습니다.
이렇게 정의한 헤더를 아래와 같이 columns에 주입하고, 실제 서버에서 받아온 data도 넣어주면, 어느정도 추상화된 테이블 로직을 만들 수 있었어요.
또 별다른 서버의 처리 없이, 프론트 측에서 페이지네이션을 가공할 수 있었는데요. 아래와 같이 간단하게 페이지네이션도 정의할 수 있었습니다.
이렇게 CS담당자가 보는 테이블을 웹에 구현했는데요. 크게 나누자면, 전체 과외 리스트 테이블 , 특정 과외 알림톡 발송내역 + 선생님들의 수락/거절여부를 볼 수 있는 테이블을 만들었어요.
또 개인적으로 뿌듯했던 개발 내용 중 하나는, 타임테이블 컴포넌트를 개발한 것인데요. 타임테이블 컴포넌트는 선생님이 내가 가능한 과외시간을 웹으로 가서 직접 설정하기 위해 필요했어요.
(뿌듯..)
개발외적으로
개발 외적으로도, 정말 많은 것을 배운 거 같아요. 개발 하기 전에, 테크 스펙을 적고, 다른 개발자분들 / 리드분의 리뷰를 받고, 개발을 실제 진행했는데요.
그 전에, 지금 겪고 있는 문제를 어떻게 해결한 것인가?`를 하나의 노션 페이지로 적고, 다른 팀원분의 리뷰를 받는 방식으로 겪고 있는 문제에 집중할 수 있게 하였어요.
스프린트가 끝나고 나면, 실제 이 문제를 풀었는가 ? 제대로 해결한 것인가? 를 검증하기 위해 롤플레잉 QA를 진행했는데요.
예를 들어서 3명이서 각각 CS 담당자, 성질 급한 학부모 , 휴학을 하고, 과외에 전념하는 학생 <- 이런식으로 역할을 나누고, 스프린트에서 개발한 내용을 바탕으로 개선 전 / 개선 후를 비교하는 롤플레잉 QA를 하면서, 우리가 진짜 문제를 해결한 게 맞는가? 를 끊임없이 검증했어요.
저에게 있어서, Y-Edu라는 프로젝트는, 밀도 있는 경험을 하게 해준 정말 소중한 프로젝트에요. 물론 3월부터 일을 하게 되어, 나오게 되었지만,,, 프론트엔드 개발자이기 이전에, 한 문제를 푸는 사람이 된 기분이었어요.
AI가 발전하면 발전할수록, 내가 프론트엔드 개발자로만 일을 할 수 있을까? 라는 생각을 요즘 많이 하게 되요. 언젠가는, 프론트엔드 개발뿐만 아니라, AI와 함께 문제를 직접 발견하고, 이를 해결하는 사람으로 성장하고 싶어요.